﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace MSDIS.Configuration.Parameters
{
    [Serializable]
    public class EndpointParameter
    {
        public enum EndpointStatus
        {
            ENABLED,
            DISABLED
        }
        public enum DataChannel
        {
            INPUT = 0,
            OUTPUT = 1
        }

        public enum AsterixCategory
        {
            CAT021_V2_1 = 0,
            CAT062_V0_16 = 1
        }

        public int Id { get; set; }

        public string Name { get; set; }

        public string Address { get; set; }

        public int Port { get; set; }

        public int Buffer { get; set; }

        public EndpointStatus Status { get; set; }

        public DataChannel Channel { get; set; }

        public AsterixCategory Category { get; set; }
    }

    [Serializable]
    public class FusionParameter
    {
        public int Sic { get; set; }

        public int Sac { get; set; }

        public double RefLatitude { get; set; }

        public double RefLongitude { get; set; }

        public double PosResolution { get; set; }

        public double AltResolution { get; set; }

        public double FusionRate { get; set; }

        public double PredictionTime { get; set; }
    }

    [Serializable]
    public class SecurityParameter
    {
        public string PublicKeyPath { get; set; }

        public string PrivateKeyPath { get; set; }

        public byte PkiType { get; set; }

        public string CaUrl { get; set; }

        public string RaUrl { get; set; }

        public string VaUrl { get; set; }
    }

    [Serializable]
    public class RemoteService
    {
        public enum ServiceStatus
        {
            RUNNING,
            STOPPED
        }
        public string Name { get; set; }

        public string Description { get; set; }

        public ServiceStatus Status { get; set; }
    }
}
